package com.ebt.m.proposal_v2.helper;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v4.content.ContextCompat;

import com.ebt.m.R;

/**
 * App主题样式参数
 *
 * @author archer.qi
 *         Created on 2017/5/4.
 */
public class ThemeHelper {
    private static final String TAG = ThemeHelper.class.getSimpleName();

    public static int getColor(Context context, int resId) {
        if (context == null) {
            throw new NullPointerException("context can't be null");
        }
        return ContextCompat.getColor(context, resId);
    }

    public static float getDimen(Context context, int resId) {
        if (context == null) {
            throw new NullPointerException("context can't be null");
        }
        return context.getResources().getDimension(resId);
    }

    public static Drawable getDrawable(Context context, int resId) {
        if (context == null) {
            throw new NullPointerException("context can't be null");
        }
        return ContextCompat.getDrawable(context, resId);
    }

    public static String getString(Context context, int resId) {
        if (context == null) {
            throw new NullPointerException("context can't be null");
        }
        return context.getString(resId);
    }

    /**
     * 主题色
     *
     * @param context
     * @return
     */
    public static int getPrimaryThemeColor(Context context) {
        return getColor(context, R.color.PrimaryThemeColor);
    }

    /**
     * 主题深色
     *
     * @param context
     * @return
     */
    public static int getPrimaryThemeColorDark(Context context) {
        return getColor(context, R.color.PrimaryThemeColorDark);
    }

    /**
     * 主题文本色
     *
     * @param context
     * @return
     */
    public static int getPrimaryContentColor(Context context) {
        return getColor(context, R.color.PrimaryContentColor);
    }

    /**
     * 主题文本浅色
     *
     * @param context
     * @return
     */
    public static int getPrimaryContentColorLight(Context context) {
        return getColor(context, R.color.PrimaryContentColorLight);
    }

    /**
     * 浅灰色背景
     *
     * @param context
     * @return
     */
    public static int getGrayBackgroundColor(Context context) {
        return getColor(context, R.color.BackgroundGray);
    }

    /**
     * 深灰色背景
     *
     * @param context
     * @return
     */
    public static int getDarkGrayBackgroundColor(Context context) {
        return getColor(context, R.color.BackgroundDarkGray);
    }

    /**
     * 分割线色
     *
     * @param context
     * @return
     */
    public static int getPrimaryDividerColor(Context context) {
        return getColor(context, R.color.PrimaryDividerColor);
    }

    /**
     * 20 sp
     *
     * @param context
     * @return
     */
    public static float getTextSizeLarge(Context context) {
        return getDimen(context, R.dimen.contentSizeLarge);
    }

    /**
     * 16sp
     *
     * @param context
     * @return
     */
    public static float getTextSizeMiddle(Context context) {
        return getDimen(context, R.dimen.contentSizeMiddle);
    }

    /**
     * 14sp
     *
     * @param context
     * @return
     */
    public static float getTextSizeNormal(Context context) {
        return getDimen(context, R.dimen.contentSizeNormal);
    }

    /**
     * 10sp
     *
     * @param context
     * @return
     */
    public static float getTextSizeSmall(Context context) {
        return getDimen(context, R.dimen.contentSizeSmall);
    }

    /**
     * 背景圆角4dp
     *
     * @param context
     * @return
     */
    public static float getBackgroundCornerRadius(Context context) {
        return getDimen(context, R.dimen.backgroundCornerRadius);
    }
}
